using System.ComponentModel.DataAnnotations;
using SupplierCustomerManagement.Domain.Entities;

namespace SupplierCustomerManagement.Domain.ReportForms
{
    /// <summary>
    /// 生产记录实体
    /// 用于记录母羊的生产情况
    /// </summary>
    public class ProductionRecord : BaseEntity
    {
        /// <summary>
        /// 母羊ID
        /// </summary>
        [Required]
        public int EweId { get; set; }

        /// <summary>
        /// 生产日期
        /// </summary>
        [Required]
        public DateTime ProductionDate { get; set; }

        /// <summary>
        /// 生产类型（正常生产/难产/流产）
        /// </summary>
        [StringLength(20)]
        public string? ProductionType { get; set; }

        /// <summary>
        /// 总产仔数
        /// </summary>
        public int? TotalOffspring { get; set; }

        /// <summary>
        /// 活仔数
        /// </summary>
        public int? LiveOffspring { get; set; }

        /// <summary>
        /// 死仔数
        /// </summary>
        public int? DeadOffspring { get; set; }

        /// <summary>
        /// 生产质量（优秀/良好/一般/差）
        /// </summary>
        [StringLength(20)]
        public string? ProductionQuality { get; set; }

        /// <summary>
        /// 并发症
        /// </summary>
        [StringLength(200)]
        public string? Complications { get; set; }

        /// <summary>
        /// 处理措施
        /// </summary>
        [StringLength(200)]
        public string? Treatment { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Notes { get; set; }

        /// <summary>
        /// 羊场ID
        /// </summary>
        [Required]
        public int FarmId { get; set; }
    }
}
